#ifndef __MT_WRAPDIRECTXMATH_H_INCLUDE__
#define __MT_WRAPDIRECTXMATH_H_INCLUDE__
#include "mathToolsConfig.h"
#ifndef INCLUDE_DIRECTXMATH
#define INCLUDE_DIRECTXMATH
//#define _XM_NO_INTRINSICS_
//#include "DirectXMath\Inc\DirectXMath.h"
#include "DirectXMath\Inc\DirectXMath.h"
#endif


namespace mt
{
	DirectX::XMVECTOR float2ToXMVector(const DirectX::XMFLOAT2* pSource)
	{
		return DirectX::XMLoadFloat2(pSource);
	}

	DirectX::XMVECTOR float3ToXMVector(const DirectX::XMFLOAT3* pSource)
	{
		return DirectX::XMLoadFloat3(pSource);
	}

	DirectX::XMVECTOR float4ToXMVector(const DirectX::XMFLOAT4* pSource)
	{
		return DirectX::XMLoadFloat4(pSource);
	}

	void xmvectorToFloat2(DirectX::XMFLOAT2* pDestination, DirectX::XMVECTOR& v)
	{
		DirectX::XMStoreFloat2(pDestination, v);
	}

	void xmvectorToFloat3(DirectX::XMFLOAT3* pDestination, DirectX::XMVECTOR& v)
	{
		DirectX::XMStoreFloat3(pDestination, v);
	}

	void xmvectorToFloat4(DirectX::XMFLOAT4* pDestination, DirectX::XMVECTOR& v)
	{
		DirectX::XMStoreFloat4(pDestination, v);
	}

	void xmmatrixToFloat44(DirectX::XMFLOAT4X4* pDestination, DirectX::XMMATRIX& m)
	{
		DirectX::XMStoreFloat4x4(pDestination, m);

	}

	void float44ToXMMatrix(DirectX::XMMATRIX& m,DirectX::XMFLOAT4X4* pSource)
	{
		m  =DirectX::XMLoadFloat4x4(pSource);
	}

}

#endif//! __MT_WRAPDIRECTXMATH_H_INCLUDE__